package com.glsc.ngateway.common.api.flowable.dto.task.formData;

import com.glsc.ngateway.common.api.flowable.dto.task.FlowFormBaseEntityDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 表单数据模板类
 * @author xuchang
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
public abstract class AbstractTaskFormDataDto<D extends FlowFormBaseEntityDto> {

    @ApiModelProperty(value = "主表数据")
    D formMainData;

    /**
     * 系统管理员账号
     * @return
     */
    abstract public String getSystemAdminAccount();

    /**
     * 流程标题
     * @return
     */
    abstract public String getProcessTitle();

    abstract public void setProcessId(String processId);

    abstract public String getProcessId();

    public D getFormMainData() {
        return formMainData;
    }

    public void setFormMainData(D formMainData) {
        this.formMainData = formMainData;
    }

    public void setStatus(String status){
        this.formMainData.setStatus(status);
    }

    public void setIsClose(Integer isClose){
        this.formMainData.setIsClose(isClose);
    }

    public void setCreateAccount(String updateAccount){
        this.formMainData.setCreateAccount(updateAccount);
    }

    public void setUpdateAccount(String updateAccount){
        this.formMainData.setUpdateAccount(updateAccount);
    }
}
